<?php
namespace app\back\controller;
use think\Controller;
use think\Request;
use think\Db;
use Qiniu\Auth;
use Qiniu\Storage\BucketManager;
use Qiniu\Storage\UploadManager; 
use think\Session;
class Common extends Controller{
    public function __construct(){
		parent::__construct(); // 调用父类的构造函数必须显示的使用parent调用父类构造函数

       require_once VENDOR_PATH.'qiniu/php-sdk/autoload.php';
        $user_name=Session::get('username');
        $user_id=Session::get('userId');

       // print_r($user_id);die;
        //验证非法登录
        if(empty($user_name)) 
        {
           // $this->success('请先登陆','login/index');
            //echo "<script>alert('');window.location=''</script>";
              $this->redirect('Login/index'); 
          //echo "<script language="javascript">location.href="login.php"</script>"; 
        }
        $this->assign("username",$user_name);  
        $this->assign("user_id",$user_id);  
         //五表联查 查看当前用户的所有权限
      //      $data=db('think_user')->alias('u')
      //       ->join('think_user_role ur','u.user_id = ur.user_id')
      //       ->join('think_role r','r.role_id = ur.role_id')
      //       ->join('think_role_node rn','r.role_id = rn.r_id')
      //       ->join('think_node n','n.n_id = rn.n_id')
      //       ->where('u.user_id',$user_id)
      //       ->select();
      //       //超级管理员
      //    if($user_name == 'admin')
      //    {
      //       return true;
      //    }
      //       // print_r($data);die;
      //  //获取当前页面的控制器名和方法名
      //  //print_r($data);die;
      // // $controller = MODULE_NAME;//MODULE_NAME //CONTROLLER_NAME
      //   //获取当前控制器    
      //  $request = \think\Request::instance();
      //  $controller= $request->controller();
      //  //获取当前方法
      //  $action=$request->action();
      //  $url = $controller.'/'.$action;
      //   //print_r($url);die;
      //  //重组数组
      //  $new_data = array();
      //  foreach($data as $k=>$v){
      //      $new_data[$k]=$v['n_controller'].'/'.$v['n_action'];
      //  }
      //  //判断当前页面的控制器和方法名在不在用户的权限中

      //  if(in_array($url,$new_data)){
      //      return true;
      //  }else{
      //      $this->error('没有相应的权限');
      //  }

	}
	//获取七牛云token
	 function getToken(){
        $accessKey= config('ACCESSKEY');
        $secretKey= config('SECRETKEY');
        $auth=new Auth($accessKey, $secretKey);
        $bucket = "userhead";//上传空间名称
        return $auth->uploadToken($bucket);//生成token      
    }
    //上传七牛云
    function uploadImg($file){
    	 // 要上传图片的本地路径
            $filePath = $file->getRealPath();
            $ext = pathinfo($file->getInfo('name'), PATHINFO_EXTENSION);  //后缀
            // 上传到七牛后保存的文件名
            $key =substr(md5($file->getRealPath()) , 0, 5). date('YmdHis') . rand(0, 9999) . '.' . $ext;
            //空间域名
            $domain = config('DOMAIN');
            $token=$this->getToken();
            // $token = $auth->uploadToken($bucket);
            // 初始化 UploadManager 对象并进行文件的上传
            $uploadMgr = new UploadManager();
            // 调用 UploadManager 的 putFile 方法进行文件的上传
            list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath);
            if ($err !== null) {
                return 0;  
            } else {
            	return $domain.$ret['key'];
                
            }
    }
    //删除七牛云图片
    function uploadDel($Img){
    	 $accessKey= config('ACCESSKEY');
        $secretKey= config('SECRETKEY');
        // 构建鉴权对象
        $auth = new Auth($accessKey,$secretKey);
         // 要上传的空间
        $bucket ='banner';
         $domain = config('DOMAIN');
        // 初始化 BucketManager 对象并进行文件的删除
        $deleteBuc = new BucketManager($auth);
        // 调用 BucketManager 的 delete 方法进行文件的删除
        list($ret, $err)= $deleteBuc->delete($bucket, $Img);
        if($err == null){
        	return 1;  
        }else{
        	return 0;
        }
    }
    /**
 * 网易云的header头部
 */
function setHeader(){
    $nonce='abcb123';
      $ctime=time();
      $csum=sha1('572faf2b1b76'.$nonce.$ctime);
      $headers = array();
      $headers[] = 'AppKey: 98b90dd621eef6bfc37b9a2917a96776';
      $headers[] = 'Nonce: '.$nonce;
      $headers[] = 'application/x-www-form-urlencoded;charset=utf-8;';
      $headers[] = 'CurTime: '.$ctime;
      $headers[] = 'CheckSum: '.$csum;
      return $headers;
  }
    
}